package com.youlai.boot.modules.game.model.form;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.util.List;

/**
 * 游戏通知表单
 *
 * @author 有来技术团队
 */
@Data
public class GameInformForm {

    /**
     * 通知ID（更新时需要）
     */
    private Long id;

    /**
     * 通知标题
     */
    @NotBlank(message = "通知标题不能为空")
    @Size(max = 100, message = "通知标题不能超过100个字符")
    private String title;

    /**
     * 通知摘要
     */
    @NotBlank(message = "通知摘要不能为空")
    @Size(max = 200, message = "通知摘要不能超过200个字符")
    private String summary;

    /**
     * 通知内容
     */
    @NotBlank(message = "通知内容不能为空")
    private String content;

    /**
     * 通知类型
     */
    @NotBlank(message = "通知类型不能为空")
    private String type;

    /**
     * 关联链接
     */
    private List<GameInformLinkForm> links;

    /**
     * 通知链接表单
     */
    @Data
    public static class GameInformLinkForm {
        /**
         * 链接ID（更新时需要）
         */
        private Long id;

        /**
         * 链接标题
         */
        @NotBlank(message = "链接标题不能为空")
        @Size(max = 100, message = "链接标题不能超过100个字符")
        private String title;

        /**
         * 链接URL
         */
        @NotBlank(message = "链接URL不能为空")
        @Size(max = 255, message = "链接URL不能超过255个字符")
        private String url;
    }
} 